package cn.iune.erp.payment;

import java.math.BigDecimal;
import java.sql.Date;
import java.text.ParseException;
import java.util.List;
import com.alibaba.fastjson.JSONObject;


public interface IAccountPaymentDetailService {

	public void insert(AccountPaymentDetail a);
	
	public void update(AccountPaymentDetail a);

	public void delete(String fID);

	JSONObject save(JSONObject object) throws ParseException ;

	AccountPaymentDetail getByID(String fID);

	int confirm(String fID);

	int active(String fID);

	int open(String fID);

	int close(String fID);

	int unAgree(String fID);

	List<AccountPaymentDetail> getByMasterID(String fMasterID);

	int deleteByMasterID(String fMasterID);

	int confirmByMasterID(String fMasterID);

	int activeByMasterID(String fMasterID);

	int confirm(AccountPaymentDetail a);

	int active(AccountPaymentDetail a);

	int open(AccountPaymentDetail a);

	int close(AccountPaymentDetail a);

	int openByMasterID(String fMasterID);

	int closeByMasterID(String fMasterID);

	int unAgreeByMasterID(String fMasterID);

	int unAgree(AccountPaymentDetail a);

	List<AccountPaymentDetail> getByWriteOffNo(String writeOffNo, String enterpriseNo);

	int agreeItByMasterID(String fMasterID, String tUsercode, String tUsername, String userId);

	int agreeIt(String fID, String tUsercode, String tUsername, String userId);

	int agreeIt(AccountPaymentDetail a, String tUsercode, String tUsername, String userId);

	AccountPaymentDetail packing(String cUsercode, String cUsername, String userId, String employeeNo, String employeeName,
			String enterpriseNo, String enterpriseName);

	AccountPaymentDetail packing(AccountPayment accountPayment, String clearType, String clearTypeLabel);


	AccountPaymentDetail accountPaymentDetailInsert(String writeOffNo, String fMasterID, String settleCategory,
			String settleCategoryLabel, int cashSettle, String clearType, String clearTypeLabel, String revOpay,
			int direction, String origin, String originName, String originNo, Date invoiceDate, String invoiceCode,
			String dealObject, String dealObjectLabel, String customerID, String customerNo, String shortName,
			String customerName, BigDecimal orderAmount, BigDecimal pendingAmount, BigDecimal orderAmountCleared,
			BigDecimal discountCash, String captionID, String captionNo, String captionName, String captionFullName,
			String orderNo, String projectNo, String cUsercode, String cUsername, String userId, String employeeNo,
			String employeeName, String enterpriseNo, String enterpriseName);


	AccountPaymentDetail accountPaymentDetailDKHXInsert(String writeOffNo, int cashSettle, String revOpay, int direction,
			String clearType, String clearTypeLabel, String billType, String billTypeName, String origin,
			String originName, String originNo, String dealObject, String dealObjectLabel, String customerID,
			String customerNo, String shortName, String customerName, BigDecimal discountCash, String captionID,
			String captionNo, String captionName, String captionFullName, String cUsercode, String cUsername,
			String userId, String employeeNo, String employeeName, String enterpriseNo, String enterpriseName);

	void accountPaymentDetailDKHXDelete(String writeOffNo, String billType, String originNo, String enterpriseNo);






}